/*     */ package dm.jdbc.pool;
/*     */ 
/*     */ import dm.jdbc.driver.DmdbConnection;
/*     */ import dm.jdbc.driver.DmdbConnection_bs;
/*     */ import dm.jdbc.driver.DmdbPreparedStatement;
/*     */ import java.sql.Connection;
/*     */ import java.sql.SQLException;
/*     */ import java.util.Enumeration;
/*     */ import java.util.Hashtable;
/*     */ import javax.sql.ConnectionEventListener;
/*     */ import javax.sql.PooledConnection;
/*     */ import javax.sql.StatementEvent;
/*     */ import javax.sql.StatementEventListener;
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ public class DmdbPooledConnection
/*     */   implements PooledConnection
/*     */ {
/*  38 */   private DmdbPooledConnection_bs rPConn = null;
/*     */   
/*     */   public static final int STMT_CLOSED_EVENT = 1;
/*     */   
/*     */   public static final int STMT_ERROROCCURED_EVENT = 2;
/*     */   
/*     */   private Hashtable<StatementEventListener, StatementEventListener> statementListeners;
/*     */   
/*     */   public Hashtable<StatementEventListener, StatementEventListener> getStatementListeners()
/*     */   {
/*  48 */     return this.statementListeners;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */   public DmdbPooledConnection(DmdbPooledConnection_bs pconn)
/*     */   {
/*  55 */     this.rPConn = pconn;
/*  56 */     this.statementListeners = new Hashtable(
/*  57 */       5);
/*     */   }
/*     */   
/*     */   DmdbPooledConnection_bs getRealPConn() {
/*  61 */     return this.rPConn;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public synchronized void addConnectionEventListener(ConnectionEventListener listener)
/*     */   {
/*  75 */     this.rPConn.addConnectionEventListener(listener);
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public synchronized void close()
/*     */     throws SQLException
/*     */   {
/*  86 */     this.rPConn.close();
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public synchronized Connection getConnection()
/*     */     throws SQLException
/*     */   {
/* 106 */     DmdbConnection_bs conn = (DmdbConnection_bs)this.rPConn.getConnection();
/* 107 */     if (conn == null) {
/* 108 */       return null;
/*     */     }
/* 110 */     return new DmdbConnection(conn);
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public synchronized void removeConnectionEventListener(ConnectionEventListener listener)
/*     */   {
/* 122 */     this.rPConn.removeConnectionEventListener(listener);
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public void addStatementEventListener(StatementEventListener listener)
/*     */   {
/* 143 */     if (getStatementListeners() == null) {
/* 144 */       this.rPConn.setSqlException(new SQLException(
/* 145 */         "statementListeners Hashtable Null"));
/*     */     } else {
/* 147 */       getStatementListeners().put(listener, listener);
/*     */     }
/*     */   }
/*     */   
/*     */   public void notifyStatementChanged(DmdbPreparedStatement pstmt, int eType) {
/* 152 */     if (getStatementListeners() == null) {
/* 153 */       return;
/*     */     }
/*     */     
/* 156 */     Enumeration<?> enumeration = getStatementListeners().keys();
/* 157 */     StatementEvent e = new StatementEvent(this, pstmt);
/*     */     
/* 159 */     while (enumeration.hasMoreElements()) {
/* 160 */       StatementEventListener stmteventlistener = 
/* 161 */         (StatementEventListener)enumeration.nextElement();
/* 162 */       StatementEventListener stmteventlistener1 = 
/* 163 */         (StatementEventListener)this.rPConn.getEventListeners().get(stmteventlistener);
/*     */       
/* 165 */       if (eType == 1) {
/* 166 */         stmteventlistener1.statementClosed(e);
/* 167 */       } else if (eType == 2) {
/* 168 */         stmteventlistener1.statementErrorOccurred(e);
/*     */       }
/*     */     }
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public void removeStatementEventListener(StatementEventListener listener)
/*     */   {
/* 188 */     if (getStatementListeners() == null) {
/* 189 */       this.rPConn.setSqlException(new SQLException(
/* 190 */         "statementListeners Hashtable Null"));
/*     */     } else {
/* 192 */       getStatementListeners().remove(listener);
/*     */     }
/*     */   }
/*     */ }


/* Location:              D:\Program Files\DBMS_20150813\jdbc\Dm7JdbcDriver17.jar!\dm\jdbc\pool\DmdbPooledConnection.class
 * Java compiler version: 7 (51.0)
 * JD-Core Version:       0.7.1
 */